﻿namespace WizardEngine.Core.Persistence
{
    using System;
    using System.Runtime.Serialization;

    /// <summary>
    /// Represents flow instance state incorrect type. 
    /// </summary>
    /// <remarks>
    /// Occurs when one tries to deserialize flow state using different type than it was used during serialization time. 
    /// </remarks>
    [Serializable]
    public class FlowInstanceStateTypeMismatch : Exception
    {
        public FlowInstanceStateTypeMismatch() : base() { }
        public FlowInstanceStateTypeMismatch(string message) : base(message) { }
        public FlowInstanceStateTypeMismatch(string message, Exception innerException) : base(message, innerException) { }
        public FlowInstanceStateTypeMismatch(SerializationInfo info, StreamingContext context) : base(info, context) { }
    }
}
